package com.internetCafes.spms.web.customer.model.customer;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.internetCafes.spms.web.customer.model.customer.quali.QualiMatchRes;
import com.sms.common.util.hutool.core.util.StrUtil;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 客户详情
 */
@Data
@Accessors(chain = true)
public class CustomerDetailRes {

    /**
     * id
     */
    private Long id;

    /**
     * 名称/姓名
     */
    private String name;

    /**
     * 客户类别 1-成交客户 2-意向客户 3-一般客户
     */
    private Integer typeId;

    /**
     * 是否是企业客户 0-默认 1-企业客户
     */
    private Integer enterpriseFlag;

    /**
     * 市id
     */
    private Long cityId;

    /**
     * 区id
     */
    private Long areaId;

    /**
     * 城市名称
     */
    private String cityName;

    /**
     * 区域名称
     */
    private String areaName;

    /**
     * 信用代码
     */
    private String certificateCode;

    /**
     * 联系人姓名
     */
    private String contactsName;

    /**
     * 联系人职位
     */
    private String contactsPosition;

    /**
     * 联系人手机号
     */
    private String contactsMobile;

    /**
     * 联系人微信号
     */
    private String contactsWechat;

    /**
     * 联系人身份证号
     */
    private String contactsIdCard;

    /**
     * 更进人id
     */
    private Long followUserId;

    /**
     * 今年成交标签 0-未成交 1-已成交
     */
    private Integer thisYearDealFlag;

    /**
     * 去年成交标签 0-未成交 1-已成交
     */
    private Integer lastYearDealFlag;

    /**
     * 法人姓名
     */
    private String legalName;

    /**
     * 法人手机号
     */
    private String legalMobile;

    /**
     * 备注
     */
    private String remark;

    /**
     * 详细地址
     */
    private String addressDetail;

    /**
     * 来源途径 1-企业考生（输入企业名称）、2-考生介绍、3-公众号、4-陌生电话、5-其他（自己输入）
     */
    private Integer originTag;

    /**
     * 来源途径内容
     */
    private String originRemark;

    /**
     * 邮寄地址
     */
    private String mailingAddress;

    /**
     * 资质证明列表
     */
    private List<String> qualiImageList;

    /**
     * 资质名称列表
     */
    private List<QualiMatchRes> qualiList;

    /**
     * 资质详情
     */
    private String qualiListDetail;

    /**
     * 跟进人 姓名
     */
    private String followUserName;

    /**
     * 总进款金额
     */
    private BigDecimal incomeCount = BigDecimal.ZERO;

    /**
     * 未消耗总计
     */
    private BigDecimal unConsumeCount = BigDecimal.ZERO;

    /**
     * 安全许可证编码
     */
    private String securityLicenseCode;

    /**
     * 安全许可证到期日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date securityLicenseExpiryDate;

    /**
     * 安全许可证照图片
     */
    private String securityLicenseImageUrl;

    /**
     * 评定等级标签 1-A 2-B 3-C
     */
    private Integer ratingId;

    /**
     * 不需要客户标签（E类标签标注）
     */
    private Integer unNecessaryFlag;

    /**
     * 下级标签 0-否 1-是
     */
    private Integer subordinateFlag;

    public String getOriginRemark() {
        if (StrUtil.isBlank(this.originRemark)) {
            return "";
        }
        return originRemark;
    }
}
